package com.sky.service;

import com.sky.result.Result;
import com.sky.vo.OrderReportVO;
import com.sky.vo.SalesTop10ReportVO;
import com.sky.vo.TurnoverReportVO;
import com.sky.vo.UserReportVO;

import java.time.LocalDate;

public interface ReportService {

   /**
     * 统计营业额
     * @param begin 开始时间
     * @param end 结束时间
     * @return
     */
    public Result<TurnoverReportVO> turnoverStatistics(LocalDate begin, LocalDate end);

    /**
     * 根据时间区间统计用户数量
     * @param begin
     * @param end
     * @return
     */
    UserReportVO userStatistics(LocalDate begin, LocalDate end);


    /**
     * 根据时间区间统计订单数量
     * @param begin
     * @param end
     * @return
     */
    OrderReportVO orderStatistics(LocalDate begin, LocalDate end);

 /**
  * 查询指定时间区间内的销量排名top10
  * @param begin
  * @param end
  * @return
  */
 SalesTop10ReportVO top10(LocalDate begin, LocalDate end);
}